package com.designpattern.createpattern.demo07.design;

import com.designpattern.createpattern.demo07.ceilling.LevelOneCeiling;
import com.designpattern.createpattern.demo07.ceilling.LevelTwoCeiling;
import com.designpattern.createpattern.demo07.coat.DuluxCoat;
import com.designpattern.createpattern.demo07.coat.LiBangCoat;
import com.designpattern.createpattern.demo07.floor.ShengXiangFloor;
import com.designpattern.createpattern.demo07.tile.DongPengTile;
import com.designpattern.createpattern.demo07.tile.MarcoPoloTile;

import java.math.BigDecimal;

public class Builder {
    public Menu levelOne(Double area) {
        return new DecorationPackageMenu(new BigDecimal(Double.toString(area)), "豪华欧式")
                .appendCeiling(new LevelTwoCeiling()) // 吊顶，⼆二级顶
                .appendCoat(new DuluxCoat()) // 涂料料，多乐⼠士
                .appendFloor(new ShengXiangFloor()); // 地板，圣象
    }
    public Menu levelTwo(Double area){
        return new DecorationPackageMenu(new BigDecimal(Double.toString(area)), "轻奢⽥田园")
                .appendCeiling(new LevelTwoCeiling()) // 吊顶，⼆二级顶
                .appendCoat(new LiBangCoat()) // 涂料料，⽴立邦
                .appendTile(new MarcoPoloTile()); // 地砖，⻢马可波罗
    }
    public Menu levelThree(Double area){
        return new DecorationPackageMenu(new BigDecimal(Double.toString(area)), "现代简约")
                .appendCeiling(new LevelOneCeiling()) // 吊顶，⼆二级顶
                .appendCoat(new LiBangCoat()) // 涂料料，⽴立邦
                .appendTile(new DongPengTile()); // 地砖，东鹏
    }
}
